Defining navigation paths through an environment for a vehicle presents a number of difficulties, especially for autonomous robots. Presently there are a number of navigation systems which rigidly define paths the robot must follow.
One system utilizes a cable, tape or other track which is laid across the ground. The robot must follow that track and cannot deviate from it. This presents problems when obstacles appear across the path. Scheduling problems also arise for robots attempting to share the same path.
Another system uses spot markers such as glass bubbles which are placed along the floor along a path. The bubbles are highly reflective and reflect incident light which is tracked by the robot. Again, the robot is confined to the path and becomes lost if it deviates from the path.
Yet other systems follow laser beams or spotlight a target with infrared radiation or a laser beam. The robots then head toward that target. An operator must position the beam on the target.
Some robots utilize inertial reference systems to guide them among compass headings. Inertial reference is typically provided by a gyroscope. Accurate gyroscopes, particularly digitally readable ones, are quite expensive and are relatively delicate.
Navigation can also be accomplished by dead reckoning. Encoders on the drive system record the distance travelled by the wheels or tracks of the robot. This technique, also known as odometry, further includes steering encoders to record changes in orientation. There are several mobile robots for home use which are maneuvered by a joystick between rooms. The robots learn the route using odometry to record their travels; the route can be approximately retraced by following the odometry measurements. However, accumulated errors rapidly create large deviations: odometry is suited only for navigation over short distances.
Other systems model the surrounding environment by reducing the environment to geometric features. The environment is typically modelled as a series of line segments representing surface features, or as a grid representing the probability of presence or absence of objects within particular locations. Paths such as S-curves are then plotted around the modelled features. The modelling is absolute when a complete, overlapping model describes the entire environment, or is relative when scattered grids or other modelling provides only partial coverage of an environment.
It is known to designate spatial positions as nodes and to create links, that is, paths, joining them. The nodes are typically referenced by an absolute coordinate system where an x,y coordinate specifies each node in relation to all others. Each link is a straight-line segment between two nodes. Measuring the location of each node is a difficult, time-consuming task, however, and is prone to accumulated errors in distance measurement.
The guidance system of Daemmer, U.S. Pat. No. 4,500,970, combines an odometry system in a robot vehicle with a proximity detection system which detects physical features, e.g., wall corners, and compares at pre-selected increments the actual orientation toward such a checkpoint with the expected orientation. The expected orientation is learned by following an initial pre-selected guidepath through the environment and stopping at pre-selected increments to identify checkpoints. There are numerous limitations to this guidance system, including its reliance on the odometry system alone to navigate between checkpoints and to determine when the next checkpoint is reached: when the vehicle deviates from the guidepath due to wheel slippage or other factors, the deviations can apparently become large enough to cause the robot vehicle to search prematurely for the checkpoint or to search in the wrong location. In either case the robot vehicle could miss the checkpoint entirely or mistake another feature for the intended checkpoint. Further, each checkpoint must apparently exhibit a change in depth to enable the robot to recognize it and to determine if the robot is misaligned with it.
Moreover, the operation of the propulsion system controller, or other control functions, and of the sensors themselves are unclear as described. For example, a Daemmer assumes that his range data is perfect. However, sensors typically exhibit a slight but noticeable error, and their accuracy depends heavily on the characteristics of their immediate surroundings. Daemmer does not disclose a system for updating the deadreckoning system when the position estimations are imperfect.